12 research outputs found

    Implementación software de un amplificador Lock-in

    Get PDF
    El fin de este Proyecto Fin de Máster, que lleva por título “Implementación software de un amplificador Lock-in”, está directamente relacionado con éste último. Como ya se ha comentado, en el mundo físico resulta casi imposible que una señal esté totalmente libre de ruido, ya que afectan, entre otros, del movimiento de los portadores de carga a través de los materiales y la temperatura. Eso significa que las resistencias presentes en cualquier dispositivo electrónico, al pasar la corriente a través suyo, generan un ruido que, si bien puede reducirse, no es posible eliminar. En otros casos, resulta necesario obtener señales provenientes de variaciones muy débiles en cierta magnitud física o que están afectados por ruido varios órdenes de magnitud superiores a la propia señal (lo que técnicamente se conoce como una relación señal ruido muy baja). La idea detrás de un amplificador Lock-in es que, si conocemos la frecuencia de la señal de interés, podemos recuperar la fase y magnitud de la onda, así como la componente en fase y en cuadratura de la misma. Esto resulta especialmente útil para el análisis de la conductancia y la capacitancia de un circuito, que, además de su aplicación directa en la determinación y caracterización de forma precisa de componentes electrónicos y circuitos, también tiene aplicación en básculas de precisión. Otros usos de un Lock-in incluyen voltímetros vectoriales, medición de ruido, medición de desfase, etc.Departamento de Electricidad y ElectrónicaMáster en Ingeniería Informátic

    Peachy Parallel Assignments (EduHPC 2018)

    Get PDF
    Peachy Parallel Assignments are a resource for instructors teaching parallel and distributed programming. These are high-quality assignments, previously tested in class, that are readily adoptable. This collection of assignments includes implementing a subset of OpenMP using pthreads, creating an animated fractal, image processing using histogram equalization, simulating a storm of high-energy particles, and solving the wave equation in a variety of settings. All of these come with sample assignment sheets and the necessary starter code.Departamento de Informática (Arquitectura y Tecnología de Computadores, Ciencias de la Computación e Inteligencia Artificial, Lenguajes y Sistemas Informáticos)Facilitar la inclusión de ejercicios prácticos de programación paralela en cursos de Computación Paralela o de alto rendimiento (HPC)Comunicación en congreso: Descripción de ejercicios prácticos con acceso a material ya desarrollado y probado

    Semi‐quantification of binary saline solutions by Raman spectroscopy: Implications for Europa

    Get PDF
    Producción CientíficaThe Europa lander is a concept for a potential future planetary exploration mission which purpose is to characterize the icy shell of Europa and to search for organics. To achieve this objective, the current concept of the lander includes a Raman spectrometer, such as RLS instrument, that could be able to analyze (sub) surface targets in their solid and liquid form. Knowing that ice and brines of Europa are potentially enriched by sulfate and chlorides, this work seeks to evaluate if Raman spectroscopy could be used to semi quantify the saline content of water solutions using space-like instrumentation. To do so, MgSO4 and MgCl2 were used to prepare three sets of water solutions. Raman analyses were then performed by the laboratory simulator of the ExoMars Raman Laser Spectrometer (RLS), which has been defined as the threshold system for the Europa Lander. After data analysis, two different semi-quantification approaches were tested, and their results compared. Although univariate calibration curves proved to successfully quantify the content of SO42− and Cl− anions dissolved in mono-analyte water solutions, this strategy provided very poor results when applied to binary saline mixtures. Overcoming this issue, the non-linearity prediction ability of Artificial Neural Networks (ANNs) in combination with bandfitting allows to successfully resolve the complexity of the vibrational perturbation suffered by the OH region, which is caused by the cross interaction of H2O molecules with different anions.Ministerio de Economía y Competitividad, Grant/Award Number: PID2019-107442RBC31

    Machine learning methods applied to combined Raman and LIBS spectra: Implications for mineral discrimination in planetary missions

    Get PDF
    Producción CientíficaThe combined analysis of geological targets by complementary spectroscopic techniques could enhance the characterization of the mineral phases found on Mars. This is indeed the case with the SuperCam instrument onboard the Perseverance rover. In this framework, the present study seeks to evaluate and compare multiple machine learning techniques for the characterization of carbonate minerals based on Raman-LIBS (Laser-Induced Breakdown Spectroscopy) spectroscopic data. To do so, a Ca-Mg prediction curve was created by mixing hydromagnesite and calcite at different concentration ratios. After their characterization by Raman and LIBS spectroscopy, different multivariable machine learning (Gaussian process regression, support vector machines, ensembles of trees, and artificial neural networks) were used to predict the concentration ratio of each sample from their respective datasets. The results obtained by separately analyzing Raman and LIBS data were then compared to those obtained by combining them. By comparing their performance, this work demonstrates that mineral discrimination based on Gaussian and ensemble methods optimized the combine of Raman-LIBS dataset outperformed those ensured by Raman and LIBS data alone. This demonstrated that the fusion of data combination and machine learning is a promising approach to optimize the analysis of spectroscopic data returned from Mars.Agencia Estatal de Investigación, grant (PID2022-142490OB-C32)Ministerio de Economía y Competitividad (MINECO),Grant/Award Number (RDE2018-102600-T

    Support for scientific libraries and asynchronous operations in heterogeneous programming

    No full text
    El trabajo presentado en esta tesis está enfocado en un área de estudio denominada computación paralela. Un sistema paralelo contiene múltiples dispositivos o unidades de cálculo que pueden operar de forma simultánea. Estos sistemas permiten obtener mejor velocidad de procesamiento a la hora de resolver problemas complejos o de utilizar grandes conjuntos de datos. Esto se consigue descomponiendo el problema o los datos en trozos más pequeños y ejecutándolos simultáneamente, utilizando, idealmente, todas las unidades de cálculo disponibles en el sistema. En un sistema paralelo, tal como un servidor, un clúster, o un supercomputador, pueden coexistir dispositivos y unidades de cálculo con diferentes arquitecturas y características. Estos sistemas mixtos se denominan sistemas heterogéneos. La programación productiva y eficiente de estos sistemas continúa siendo un problema, dado que cada arquitectura, a menudo, requiere el uso de mecanismos de programación específicos o de bajo nivel por parte de programadores especializados. El mantenimiento, extensión y portabilidad de estos programas es una tarea compleja. Se están investigando enfoques de alto nivel que sean portables sin comprometer el rendimiento. Una solución parcial consiste en el uso de bibliotecas especializadas, que los fabricantes desarrollan específicamente para sus arquitecturas, y para dominios o ámbitos específicos, tales como el álgebra lineal (p. ej. BLAS) o las Transformadas Rápidas de Fourier (FFTW).Departamento de Informática (Arquitectura y Tecnología de Computadores, Ciencias de la Computación e Inteligencia Artificial, Lenguajes y Sistemas Informáticos)Doctorado en Informátic

    XXVIII Jornadas Sarteco 2017

    No full text
    Producción CientíficaLas rutinas de álgebra lineal BLAS son ampliamente utilizadas en aplicaciones científicas de todo tipo. Existen implementaciones específicamente optimizadas para diferentes tipos de plataformas de cómputo incluyendo aceleradores. Por ejemplo, la implementación contenida en la biblioteca Intel MKL, aparte de ejecutarse en CPUs, incluye versiones para Xeon Phi, mientras que la biblioteca cuBLAS está especialmente dise~nada para GPUs de NVIDIA. Sin embargo, los mecanismos para gestionar la memoria utilizada por las estructuras de datos sobre las que se realiza el computo son diferentes en cada implementación, así como algunos mecanismos relacionados con las llamadas y el paso de parámetros. En este artículo presentamos una interfaz única para BLAS, integrada en un modelo de programación heterogénea (Controllers) que soporta grupos de núcleos de CPU, aceleradores Xeon Phi o GPUs de NVIDIA de forma transparente para el programador. Con esta propuesta es posible construir programas portables basados en rutinas BLAS, que se ejecutan en diferentes tipos de aceleradores cambiando simplemente un parámetro de inicialización. Nuestra propuesta explota internamente la biblioteca específica para cada tipo de dispositivo. Las diferencias en sus interfaces y en los mecanismos externos para gestionar la memoria de los dispositivos, minimizando transferencias, son transparentes para el programador. Los resultados experimentales muestran que nuestra abstracción no introduce pérdidas de rendimiento significativas.Ministerio de Ciencia e Innovaci on (MICINN) y por el programa ERDF de la Uni on Europea: Proyecto HomProg-HetSys (TIN2014-58876-P), CAPAP-H6 (TIN2016-81840-REDT), y COST Program Action IC1305: Network for Sustainable Ultrascale Computing (NESUS)

    Jornadas Sarteco 2016

    No full text
    Producción CientíficaResumen|Los sistemas Multi-agente están constituidos por piezas software llamadas agentes que son capaces de percibir el entorno y actuar en él de manera autónoma. MARL-Ped es un modelo Multi-agente de peatones donde cada agente (peatón) aprende el comportamiento adecuado para la simulación de diferentes situaciones (aglomeraciones, cruces, evacuaciones de recintos cerrados,...). MARL-Ped utiliza el estándar de paso de mensajes MPI para su explotación en sistemas distribuidos de forma portable. Programar utilizando directamente sistemas de paso de mensajes requiere un gran esfuerzo si se desean introducir políticas de reparto de carga fexibles y que se adapten a la plataforma de destino. Hitmap es una biblioteca de funciones para facilitar la programación de aplicaciones paralelas, basada en arrays distribuidos. Introduce abstracciones para la partición y mapeo transparente de arrays, así como para construir patrones de comunicación exibles que se adaptan a la partición de forma automática. En este trabajo presentamos la metodología y técnicas de Hitmap aplicadas a la simulación de agentes, utilizando MARL-Ped como caso de estudio. Mostramos conceptual y experimentalmente las ventajas de aplicar Hitmap para aumentar la productividad de este tipo de aplicaciones, tanto en adaptabilidad como en rendimiento, permitiendo agrupar agentes en procesos y reduciendo los costes de comunicación y sobrecargas de forma transparente.Ministerio de Econom a y Competitividad (Spain) y el programa ERDF de la Uni on Europea: Proyecto HomProg-HetSys TIN2014-58876-P, Proyecto TIN2015-66972-C5-5-R y COST Program Action IC1305: Network for Sustainable Ultrascale Computing (NESUS)

    Euro-Par

    No full text
    Producción CientíficaSupercomputers are becoming more heterogeneous. They are composed by several machines with different computation capabilities and different kinds and families of accelerators, such as GPUs or Intel Xeon Phi coprocessors. Programming these machines is a hard task, that requires a deep study of the architectural details, in order to exploit efficiently each computational unit. In this paper, we present an extension of a GPU-CPU heterogeneous programming model, to include support for Intel Xeon Phi coprocessors. This contribution extends the previous model and its implementation, by taking advantage of both the GPU communication model and the CPU execution model of the original approach, to derive a new approach for the Xeon Phi. Our experimental results show that using our approach, the programming effort needed for changing the kind of target devices is highly reduced for several study cases. For example, using our model to program a Mandelbrot benchmark, the 97% of the application code is reused between a GPU implementation and a Xeon Phi implementation.MICINN (Spain) and ERDF program of the European Union: HomProg-HetSys project (TIN2014-58876-P), and COST Program Action IC1305: Network for Sustainable Ultrascale Computing (NESUS)

    International Conference on Algorithms and Architectures for Parallel Processing

    No full text
    Producción CientíficaMulti-agent systems allow the modelling of complex, heterogeneous, and distributed systems in a realistic way. MARL-Ped is a multi-agent system tool, based on the MPI standard, for the simulation of different scenarios of pedestrians who autonomously learn the best behavior by Reinforcement Learning. MARL-Ped uses one MPI process for each agent by design, with a fixed fine-grain granularity. This requirement limits the performance of the simulations for a restricted number of processors that is lesser than the number of agents. On the other hand, Hitmap is a library to ease the programming of parallel applications based on distributed arrays. It includes abstractions for the automatic partition and mapping of arrays at runtime with arbitrary granularity, as well as functionalities to build flexible communication patterns that transparently adapt to the data partitions. In this work, we present the methodology and techniques of granularity selection in Hitmap, applied to the simulations of agent systems. As a first approximation, we use the MARL-Ped multi-agent pedestrian simulation software as a case of study for intra-node cases. Hitmap allows to transparently map agents to processes, reducing oversubscription and intra-node communication overheads. The evaluation results show significant advantages when using Hitmap, increasing the flexibility, performance, and agent-number scalability for a fixed number of processing elements, allowing a better exploitation of isolated nodes.Spanish MINECO and the EU ERDF program under grants HomProg-HetSys TIN2014-58876-P, TIN2015-66972-C5-5-R, CAPAP-H5 network TIN2014-53522-REDT, and COST Program Action IC1305: Network for Sustainable Ultrascale Computing (NESUS)

    Toward a BLAS library truly portable across different accelerator types

    No full text
    Scientific applications are some of the most computationally demanding software pieces. Their core is usually a set of linear algebra operations, which may represent a significant part of the overall run-time of the application. BLAS libraries aim to solve this problem by exposing a set of highly optimized, reusable routines. There are several implementations specifically tuned for different types of computing platforms, including coprocessors. Some examples include the one bundled with the Intel MKL library, which targets Intel CPUs or Xeon Phi coprocessors, or the cuBLAS library, which is specifically designed for NVIDIA GPUs. Nowadays, computing nodes in many supercomputing clusters include one or more different coprocessor types. To fully exploit these platforms might require programs that can adapt at run-time to the chosen device type, hardwiring in the program the code needed to use a different library for each device type that can be selected. This also forces the programmer to deal with different interface particularities and mechanisms to manage the memory transfers of the data structures used as parameters. This paper presents a unified, performance-oriented, and portable interface for BLAS. This interface has been integrated into a heterogeneous programming model (Controllers) which supports groups of CPU cores, Xeon Phi accelerators, or NVIDIA GPUs in a transparent way. The contribution of this paper includes: An abstraction layer to hide programming differences between diverse BLAS libraries; new types of kernel classes to support the context manipulation of different external BLAS libraries; a new kernel selection policy that considers both programmer kernels and different external libraries; a complete new Controller library interface for the whole collection of BLAS routines. This proposal enables the creation of BLAS-based portable codes that can execute on top of different types of accelerators by changing a single initialization parameter. Our software internally exploits different preexisting and widely known BLAS library implementations, such as cuBLAS, MAGMA, or the one found in Intel MKL. It transparently uses the most appropriate library for the selected device. Our experimental results show that our abstraction does not introduce significant performance penalties, while achieving the desired portability.Este trabajo forma parte del proyecto de investigación PCAS Grant TIN2017-88614-R y la Junta de Castilla y León, proyecto PROPHET, VA082P17
    corecore